/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.jomijushi.fid.servicios;

import com.jomijushi.fid.dominio.FidProductoMercaderia;
import com.jomijushi.fid.dominio.FidProveedor;
import java.util.List;
import javax.persistence.EntityManagerFactory;

/**
 *
 * @author Jorge Valverde Rebaza
 */
public interface ProveedorInterfazService {

    public void setEntityManagerFactory(EntityManagerFactory emf);
    void crearProveedor(FidProveedor proveedor);
    void modificarProveedor(FidProveedor proveedor);
    void eliminarProveedor(FidProveedor proveedor);
    FidProveedor buscarProveedor(String ruc);
    List<FidProveedor> listarProveedores(String valorKey, String buscar, boolean b, int c, int d, String orden);

      /**
     * Reporta una lista de proveedores que cumplem cierto criterio
     * y ordenados por cierto criterio haciendo uso de paginacion
     * @param criterio nombre de la columna de FidProveedor con la que se buscara
     * @param keyword criterio de busqueda a usar
     * @param ordenarBy nombre de la columna de FidProveedor tomado como criterio de ordenacion
     * @param criterioOrden criterio de orden, ascendente o descendente
     * @param todo criterio de reporte total o parcial, true = total, false = parcial
     * @param limInf si el reporte es parcial, indica el limite inferior del reporte de paginacion
     * @param limSup si el reporte es parcial, indica el limite superior del reporte de paginacion
     * @return Lista de proveedores que cumplan con los criterios, si no existen devuelve lista vacia
     */
    //List<FidProveedor> listarProveedores(String criterio, String keyword, String ordenarBy, String criterioOrden, boolean todo, int limInf, int limSup);

}
